home *** CD-ROM | disk | FTP | other *** search
-
- Months = new Array(12);
- Months[0] = "January";
- Months[1] = "February";
- Months[2] = "March";
- Months[3] = "April";
- Months[4] = "May";
- Months[5] = "June";
- Months[6] = "July";
- Months[7] = "August";
- Months[8] = "September";
- Months[9] = "October";
- Months[10] = "November";
- Months[11] = "December";
-
- function PadSpaces(TheString)
- {
- var Spaces = " ";
- len = Math.round((9 - TheString.length)/2);
-
- return Spaces.substring(0,len) + TheString;
- }
-
- function NumLeapYears(StartYear, EndYear)
- {
- var LeapYears, i;
-
- if (EndYear >= StartYear){
- for(LeapYears = 0; StartYear <= EndYear; StartYear++)
- if (IsLeapYear(StartYear)) LeapYears++;
- }else{
- for(LeapYears = 0; EndYear <= StartYear; EndYear++)
- if (IsLeapYear(EndYear)) LeapYears++;
- }
- return LeapYears;
- }
-
- function IsLeapYear(Year)
- {
- if(Math.round(Year/4) == Year/4){
- if(Math.round(Year/100) == Year/100){
- if(Math.round(Year/400) == Year/400)
- return true;
- else return false;
- }else return true;
- }
- return false;
- }
-
- function Trim(TheString)
- {
- var len;
-
- len = TheString.length;
- while(TheString.substring(0,1) == " "){ //trim left
- TheString = TheString.substring(1, len);
- len = TheString.length;
- }
-
- while(TheString.substring(len-1, len) == " "){ //trim right
- TheString = TheString.substring(0, len-1);
- len = TheString.length;
- }
- return TheString;
- }
-
- function DetermineMonthIdx()
- {
- var i, month, month_s, len;
-
-
- month = Trim(document.srcteccalform.elements[4].value);
- len = month.length;
-
- for( i = 0; i <12; i++){
- month_s = Months[i].substring(0,len);
- if (month_s.toUpperCase() == month.toUpperCase())
- return (i);
- }
- return -1;
- }
-
- function FindNewYearStartingDay(Year)
- {
- var LeapYears, Years, Day;
-
- LeapYears = NumLeapYears(1995, Year);
-
- if (Year >=1995)
- Years = (Year -1995)+LeapYears;
- else Years = (Year -1995)-LeapYears;
-
- if (Year >=1995)
- Day = Math.round(((Years/7 - Math.floor(Years/7))*7)+.1);
- else Day = Math.round(((Years/7 - Math.ceil(Years/7))*7)-.1);
-
- if (Year >=1995){
- if(IsLeapYear(Year)) Day--;
- }else Day += 7;
-
- if(Day < 0) Day = 6;
- if(Day > 6) Day = 0;
- return Day;
- }
-
- function FindNumDaysInMonth(Year, Month)
- {
- if(Month == 1){
- if(IsLeapYear(Year)) return 29;
- else return 28;
- }else{
- if(Month >6) Month++;
- if(Month/2 == Math.round(Month/2)) return 31;
- }
- return 30;
- }
-
- function FindMonthStartDay(NewYearDay, Year, Month)
- {
- var MonthStartDay;
-
- AddArray = new Array(12);
-
- AddArray[0]=0;AddArray[1]=3;AddArray[2]=3;AddArray[3]=6;
- AddArray[4]=1;AddArray[5]=4;AddArray[6]=6;AddArray[7]=2;
- AddArray[8]=5;AddArray[9]=0;AddArray[10]=3;AddArray[11]=5;
-
- MonthStartDay = NewYearDay + AddArray[Month];
- if(IsLeapYear(Year) && (Month ) > 1) MonthStartDay ++;
-
- if (MonthStartDay > 6) MonthStartDay -= 7;
-
- return MonthStartDay;
- }
-
- function FillCalendar()
- {
- var Year, Month, Midx, NewYearDay, MonthStartDay;
- var NumDaysInMonth, i, t;
-
- Year = parseFloat(document.srcteccalform.elements[1].value);
- Month = document.srcteccalform.elements[4].value;
-
- Midx = DetermineMonthIdx();
- if (Midx == -1){
- alert ("Can't recognize that month");
- return;
- }
-
- NewYearDay = FindNewYearStartingDay(Year);
- MonthStartDay = FindMonthStartDay(NewYearDay, Year, Midx);
- NumDaysInMonth = FindNumDaysInMonth(Year, Midx);
-
- for(i = 6; i < 43; i++){
- t = i-5-MonthStartDay;
- if ( t >= 1 && t <= NumDaysInMonth)
- document.srcteccalform.elements[i].value =t;
- else document.srcteccalform.elements[i].value = "";
- }
- }
-
- function IncDecYear(val)
- {
- var valNum = parseInt(val);
- var valNum2 = parseInt(document.srcteccalform.elements[1].value)
- document.srcteccalform.elements[1].value = valNum2 + valNum;
-
- FillCalendar()
- }
-
- function IncDecMonth(val)
- {
- var valNum = parseInt(val);
- var Midx = DetermineMonthIdx();
-
- Midx += valNum;
- if(Midx > 11)
- {
- Midx = 0;
- IncDecYear(1)
- }
- if(Midx < 0)
- {
- Midx = 11;
- IncDecYear(-1)
- }
-
- document.srcteccalform.elements[4].value = PadSpaces(Months[Midx]);
-
- FillCalendar()
- }
-